1. Field of the Invention
The present invention relates to a decoding method and a decoding circuit, and more particularly to a decoding method and a decoding circuit which decode position information (addresses) on an optical disk.
2. Description of the Related Art
In recent years, a recording and playing apparatus using an optical disk has been paid attention to because of reasons of its compactness, high capacity and the like.
FIG. 5 shows an overall view of such a conventional recording and playing apparatus. An optical disk 100 is rotatably driven by a spindle motor 101 at the time of recording and playing operations, and data is recorded in the disk 100 or data is played from the disk 100 by an optical pickup.
A pickup 102 has a laser diode which becomes a laser source, a photodetector for detecting a reflected light, and an objective lens which becomes an output end of a laser light, and illuminates the laser light onto a disk recording surface. This pickup 102 can move in a radial direction of the disk by a thread mechanism 103. Reflected light information from the disk 100 is detected by the photodetector, converted into an electrical signal depending on an amount of received light, and supplied to a matrix circuit 105.
The matrix circuit 105 generates a play data signal, a focus error signal for servo control, a tracking error signal, wobble information and the like. The play data signal outputted from the matrix circuit 105 is supplied to a playing/recording control circuit 106, the focus error signal and the tracking error signal are supplied to a servo control circuit 107, and the wobble information is supplied to a wobble decoding circuit 108, respectively. (The wobble information will be described later.)
If the disk 100 is a rewritable disk, the wobble decoding circuit 108 supplies ADIP information which has been MSK-demodulated or HMW-demodulated by using the wobble information, to an address decoding circuit 109. The address decoding circuit 109 performs an error detection/correction process with respect to the ADIP information and decodes addresses on the disk.
At the time of recording, recorded data is transferred from an AV system 114, sent to and buffered in a memory of an ECC/scrambling circuit 110, and addition of an error correction code, a scrambling process, addition of a subcode or the like is performed thereto. Moreover, data which has been ECC-encoded and subjected to the scrambling process is applied with modulation of an RLL (1-7) PP scheme in a modulation and demodulation circuit 111 and supplied as an encoded data to the playing/recording control circuit 106.
The playing/recording control circuit 106 sends a laser pulse converted from the encoded data based on the addresses on the disk, to a laser driver 104. The laser driver 104 performs laser emission driving and forms pits depending on the recorded data on the disk 100.
A spindle control circuit 112 controls to rotate the spindle motor 101. The spindle control circuit 112 obtains a clock generated in a PLL process with respect to a wobble signal as current rotation speed information on the spindle motor 101, compares this information with predetermined speed information, and thereby generates a spindle error signal.
The above described recording and playing operations are controlled by a system controller 113 formed with a microcomputer. The system controller 113 executes recording and playing processes based on commands from the AV system 114.
Here, on a recording film of the optical disk, a groove for guiding the laser light is formed along a recording track. This groove winds its way (wobbling) with a substantially constant period, which is referred to as “wobble”. The wobble is locally applied with phase modulation, and position information (addresses) on the optical disk, which is required at the time of recording and playing, is embedded therein. These addresses are coded based on a predetermined generation polynomial, converted into wobble patterns having different periods and amplitudes, and embedded on the optical disk.
In order to decode a code sequence of the addresses embedded on the optical disk in this way and extract the address information, it is necessary to perform error detection and correction with respect to the code sequence by first syndrome calculations, and perform second syndrome calculations to extract the address information from the code sequence in which the error detection and correction have been performed.
A flow of decoding the above described code sequence into the address information will be described in detail. A code sequence C0 to C(i−1) is obtained from a bit column of ADIP (Address in Pre groove) obtained from the wobble patterns on the optical disk. Here, it is assumed that the code sequence C0 to C(i−1) is composed in units of nibbles (4 bits) per symbol. If it is assumed that there is no error in this code sequence C0 to C(i−1), C0 to C(i−1) are used to extract address information n0 to n(j−2). n0 to n(j−2) can be calculated by applying C0 to C(i−1) to a second syndrome calculation formula (1) for extracting the address information.
                              [                      Formula            ⁢                                                  ⁢            1                    ]                ⁢                                                                                                                                                            S                  u                                =                                                      ∑                                          t                      =                      0                                                              i                      -                      1                                                        ⁢                                                            C                      t                                        *                                                                  (                                                  α                          u                                                )                                                                                              (                                                      i                            -                            1                                                    )                                                -                        t                                                                                                                                                                  (                                      i                    -                    j                                    )                                ⁢                                  ≤                  _                                ⁢                u                ⁢                                  ≤                  _                                ⁢                                  (                                      i                    -                    2                                    )                                                                                                                          n                                      u                    -                                          (                                              i                        -                        j                                            )                                                                      =                                  S                  u                                                                                                      (                                      i                    -                    j                                    )                                ⁢                                  ≤                  _                                ⁢                u                ⁢                                  ≤                  _                                ⁢                                  (                                      i                    -                    2                                    )                                                                    }                            (        1        )            
In the formula (1), i denotes a code length, j denotes an information length, and u denotes a syndrome number. Moreover, α denotes a primitive element on a Galois field (24).
If the code length i=15 and the information length j=9 are assumed, the above described formula (1) is developed into a formula (2). As shown in FIG. 1, decoding into address information n0 to n8 is performed by assigning a code sequence C0 to C14 to a formula (4).
                    [                  Formula          ⁢                                          ⁢          2                ]                                                                                                                                  n                  0                                =                                                      S                    6                                    =                                                                                                              C                          0                                                ⁡                                                  (                                                      α                            6                                                    )                                                                    14                                        +                                                                                            C                          1                                                ⁡                                                  (                                                      α                            6                                                    )                                                                    13                                        +                                                                                            C                          2                                                ⁡                                                  (                                                      α                            6                                                    )                                                                    12                                        +                    …                    +                                                                                            C                          12                                                ⁡                                                  (                                                      α                            6                                                    )                                                                    2                                        +                                                                                            C                          13                                                ⁡                                                  (                                                      α                            6                                                    )                                                                    1                                        +                                                                                            C                          14                                                ⁡                                                  (                                                      α                            6                                                    )                                                                    0                                                                                                                                                                n                  1                                =                                                      S                    7                                    =                                                                                                              C                          0                                                ⁡                                                  (                                                      α                            7                                                    )                                                                    14                                        +                                                                                            C                          1                                                ⁡                                                  (                                                      α                            7                                                    )                                                                    13                                        +                                                                                            C                          2                                                ⁡                                                  (                                                      α                            7                                                    )                                                                    12                                        +                    …                    +                                                                                            C                          12                                                ⁡                                                  (                                                      α                            7                                                    )                                                                    2                                        +                                                                                            C                          13                                                ⁡                                                  (                                                      α                            7                                                    )                                                                    1                                        +                                                                                            C                          14                                                ⁡                                                  (                                                      α                            7                                                    )                                                                    0                                                                                                                                                                n                  2                                =                                                      S                    8                                    =                                                                                                              C                          0                                                ⁡                                                  (                                                      α                            8                                                    )                                                                    14                                        +                                                                                            C                          1                                                ⁡                                                  (                                                      α                            8                                                    )                                                                    13                                        +                                                                                            C                          2                                                ⁡                                                  (                                                      α                            8                                                    )                                                                    12                                        +                    …                    +                                                                                            C                          12                                                ⁡                                                  (                                                      α                            8                                                    )                                                                    2                                        +                                                                                            C                          13                                                ⁡                                                  (                                                      α                            8                                                    )                                                                    1                                        +                                                                                            C                          14                                                ⁡                                                  (                                                      α                            8                                                    )                                                                    0                                                                                                                                                                n                  3                                =                                                      S                    9                                    =                                                                                                              C                          0                                                ⁡                                                  (                                                      α                            9                                                    )                                                                    14                                        +                                                                                            C                          1                                                ⁡                                                  (                                                      α                            9                                                    )                                                                    13                                        +                                                                                            C                          2                                                ⁡                                                  (                                                      α                            9                                                    )                                                                    12                                        +                    …                    +                                                                                            C                          12                                                ⁡                                                  (                                                      α                            9                                                    )                                                                    2                                        +                                                                                            C                          13                                                ⁡                                                  (                                                      α                            9                                                    )                                                                    1                                        +                                                                                            C                          14                                                ⁡                                                  (                                                      α                            9                                                    )                                                                    0                                                                                                                                                                n                  4                                =                                                      S                    10                                    =                                                                                                              C                          0                                                ⁡                                                  (                                                      α                            10                                                    )                                                                    14                                        +                                                                                            C                          1                                                ⁡                                                  (                                                      α                            10                                                    )                                                                    13                                        +                                                                                            C                          2                                                ⁡                                                  (                                                      α                            10                                                    )                                                                    12                                        +                    …                    +                                                                                            C                          12                                                ⁡                                                  (                                                      α                            10                                                    )                                                                    2                                        +                                                                                            C                          13                                                ⁡                                                  (                                                      α                            10                                                    )                                                                    1                                        +                                                                                            C                          14                                                ⁡                                                  (                                                      α                            10                                                    )                                                                    0                                                                                                                                                                n                  5                                =                                                      S                    11                                    =                                                                                                              C                          0                                                ⁡                                                  (                                                      α                            11                                                    )                                                                    14                                        +                                                                                            C                          1                                                ⁡                                                  (                                                      α                            11                                                    )                                                                    13                                        +                                                                                            C                          2                                                ⁡                                                  (                                                      α                            11                                                    )                                                                    12                                        +                    …                    +                                                                                            C                          12                                                ⁡                                                  (                                                      α                            11                                                    )                                                                    2                                        +                                                                                            C                          13                                                ⁡                                                  (                                                      α                            11                                                    )                                                                    1                                        +                                                                                            C                          14                                                ⁡                                                  (                                                      α                            11                                                    )                                                                    0                                                                                                                                                                n                  6                                =                                                      S                    12                                    =                                                                                                              C                          0                                                ⁡                                                  (                                                      α                            12                                                    )                                                                    14                                        +                                                                                            C                          1                                                ⁡                                                  (                                                      α                            12                                                    )                                                                    13                                        +                                                                                            C                          2                                                ⁡                                                  (                                                      α                            12                                                    )                                                                    12                                        +                    …                    +                                                                                            C                          12                                                ⁡                                                  (                                                      α                            12                                                    )                                                                    2                                        +                                                                                            C                          13                                                ⁡                                                  (                                                      α                            12                                                    )                                                                    1                                        +                                                                                            C                          14                                                ⁡                                                  (                                                      α                            12                                                    )                                                                    0                                                                                                                                                                n                  7                                =                                                      S                    13                                    =                                                                                                              C                          0                                                ⁡                                                  (                                                      α                            13                                                    )                                                                    14                                        +                                                                                            C                          1                                                ⁡                                                  (                                                      α                            13                                                    )                                                                    13                                        +                                                                                            C                          2                                                ⁡                                                  (                                                      α                            13                                                    )                                                                    12                                        +                    …                    +                                                                                            C                          12                                                ⁡                                                  (                                                      α                            13                                                    )                                                                    2                                        +                                                                                            C                          13                                                ⁡                                                  (                                                      α                            13                                                    )                                                                    1                                        +                                                                                            C                          14                                                ⁡                                                  (                                                      α                            13                                                    )                                                                    0                                                                                                                                                                n                  8                                =                                  C                  0                                                                    }                            (        2        )            
On the other hand, if it is assumed that there is an error in the above described code sequence C0 to C(i−1), a first syndrome calculation (3) is performed to perform the error detection and correction with respect to C0 to C(i−1), and subsequently, a second syndrome calculation (4) is performed to extract the address information n0 to n(j−2) from a code sequence C′0 to C′(i−1) applied with the error correction.
First, C0 to C(i−1) are applied to the first syndrome calculation (3) and thereby syndrome values S0 to S5 for calculating error position and error number information required for the error detection and correction are obtained. The error detection and correction are performed by using these syndrome values.
                    [                  Formula          ⁢                                          ⁢          3                ]                                                                                                                S                v                            =                                                ∑                                      t                    =                    0                                                        i                    -                    1                                                  ⁢                                                      C                    t                                    *                                                            (                                              α                        v                                            )                                                                                      (                                                  i                          -                          1                                                )                                            -                      t                                                                                                                              0              ⁢                              ≤                _                            ⁢              v              ⁢                              ≤                _                            ⁢                              (                                  i                  -                  j                  -                  1                                )                                                                        (        3        )                                [                  Formula          ⁢                                          ⁢          4                ]                                                                                                                                  S                  u                  ′                                =                                                      ∑                                          t                      =                      0                                                              i                      -                      1                                                        ⁢                                                            C                      t                      ′                                        *                                                                  (                                                  α                          u                                                )                                                                                              (                                                      i                            -                            1                                                    )                                                -                        t                                                                                                                                                                  (                                      i                    -                    j                                    )                                ⁢                                  ≤                  _                                ⁢                u                ⁢                                  ≤                  _                                ⁢                                  (                                      i                    -                    2                                    )                                                                                                                          n                                      u                    -                                          (                                              i                        -                        j                                            )                                                                      =                                  S                  u                  ′                                                                                                      (                                      i                    -                    j                                    )                                ⁢                                  ≤                  _                                ⁢                u                ⁢                                  ≤                  _                                ⁢                                  (                                      i                    -                    2                                    )                                                                    }                            (        4        )            
In the formulas (3) and (4), i denotes the code length, j denotes the information length, and v and u denote the syndrome number. Moreover, α denotes a primitive element on a Galois field (24).
If the code length i=15 and the information length j=9 are assumed, the above described formulas (3) and (4) are developed into formulas (5) and (6). FIG. 3 shows a process of decoding from the code sequence C0 to C14 into the address information n0 to n8 in the case where it is assumed that there are errors in C10, C11 and C12.
                    [                  Formula          ⁢                                          ⁢          5                ]                                                                                                                                  S                  0                                =                                                                                                    C                        0                                            ⁡                                              (                                                  α                          0                                                )                                                              14                                    +                                                                                    C                        1                                            ⁡                                              (                                                  α                          0                                                )                                                              13                                    +                                                                                    C                        2                                            ⁡                                              (                                                  α                          0                                                )                                                              12                                    +                  …                  +                                                                                    C                        12                                            ⁡                                              (                                                  α                          0                                                )                                                              2                                    +                                                                                    C                        13                                            ⁡                                              (                                                  α                          0                                                )                                                              1                                    +                                                                                    C                        14                                            ⁡                                              (                                                  α                          0                                                )                                                              0                                                                                                                                            S                  1                                =                                                                                                    C                        0                                            ⁡                                              (                                                  α                          1                                                )                                                              14                                    +                                                                                    C                        1                                            ⁡                                              (                                                  α                          1                                                )                                                              13                                    +                                                                                    C                        2                                            ⁡                                              (                                                  α                          1                                                )                                                              12                                    +                  …                  +                                                                                    C                        12                                            ⁡                                              (                                                  α                          1                                                )                                                              2                                    +                                                                                    C                        13                                            ⁡                                              (                                                  α                          1                                                )                                                              1                                    +                                                                                    C                        14                                            ⁡                                              (                                                  α                          1                                                )                                                              0                                                                                                                                            S                  2                                =                                                                                                    C                        0                                            ⁡                                              (                                                  α                          2                                                )                                                              14                                    +                                                                                    C                        1                                            ⁡                                              (                                                  α                          2                                                )                                                              13                                    +                                                                                    C                        2                                            ⁡                                              (                                                  α                          2                                                )                                                              12                                    +                  …                  +                                                                                    C                        12                                            ⁡                                              (                                                  α                          2                                                )                                                              2                                    +                                                                                    C                        13                                            ⁡                                              (                                                  α                          2                                                )                                                              1                                    +                                                                                    C                        14                                            ⁡                                              (                                                  α                          2                                                )                                                              0                                                                                                                                            S                  3                                =                                                                                                    C                        0                                            ⁡                                              (                                                  α                          3                                                )                                                              14                                    +                                                                                    C                        1                                            ⁡                                              (                                                  α                          3                                                )                                                              13                                    +                                                                                    C                        2                                            ⁡                                              (                                                  α                          3                                                )                                                              12                                    +                  …                  +                                                                                    C                        12                                            ⁡                                              (                                                  α                          3                                                )                                                              2                                    +                                                                                    C                        13                                            ⁡                                              (                                                  α                          3                                                )                                                              1                                    +                                                                                    C                        14                                            ⁡                                              (                                                  α                          3                                                )                                                              0                                                                                                                                            S                  4                                =                                                                                                    C                        0                                            ⁡                                              (                                                  α                          4                                                )                                                              14                                    +                                                                                    C                        1                                            ⁡                                              (                                                  α                          4                                                )                                                              13                                    +                                                                                    C                        2                                            ⁡                                              (                                                  α                          4                                                )                                                              12                                    +                  …                  +                                                                                    C                        12                                            ⁡                                              (                                                  α                          4                                                )                                                              2                                    +                                                                                    C                        13                                            ⁡                                              (                                                  α                          4                                                )                                                              1                                    +                                                                                    C                        14                                            ⁡                                              (                                                  α                          4                                                )                                                              0                                                                                                                                            S                  5                                =                                                                                                    C                        0                                            ⁡                                              (                                                  α                          5                                                )                                                              14                                    +                                                                                    C                        1                                            ⁡                                              (                                                  α                          5                                                )                                                              13                                    +                                                                                    C                        2                                            ⁡                                              (                                                  α                          5                                                )                                                              12                                    +                  …                  +                                                                                    C                        12                                            ⁡                                              (                                                  α                          5                                                )                                                              2                                    +                                                                                    C                        13                                            ⁡                                              (                                                  α                          5                                                )                                                              1                                    +                                                                                    C                        14                                            ⁡                                              (                                                  α                          5                                                )                                                              0                                                                                      }                            (        5        )                                [                  Formula          ⁢                                          ⁢          6                ]                                                                                                                                                      S                    6                    ′                                    =                                                                                                              C                          0                          ′                                                ⁡                                                  (                                                      α                            6                                                    )                                                                    14                                        +                                                                                            C                          1                          ′                                                ⁡                                                  (                                                      α                            6                                                    )                                                                    13                                        +                                                                                            C                          2                          ′                                                ⁡                                                  (                                                      α                            6                                                    )                                                                    12                                        +                    …                    +                                                                                            C                          12                          ′                                                ⁡                                                  (                                                      α                            6                                                    )                                                                    2                                        +                                                                                            C                          13                          ′                                                ⁡                                                  (                                                      α                            6                                                    )                                                                    1                                        +                                                                                            C                          14                          ′                                                ⁡                                                  (                                                      α                            6                                                    )                                                                    0                                                                                                                                                                S                    7                    ′                                    =                                                                                                              C                          0                          ′                                                ⁡                                                  (                                                      α                            7                                                    )                                                                    14                                        +                                                                                            C                          1                          ′                                                ⁡                                                  (                                                      α                            7                                                    )                                                                    13                                        +                                                                                            C                          2                          ′                                                ⁡                                                  (                                                      α                            7                                                    )                                                                    12                                        +                    …                    +                                                                                            C                          12                          ′                                                ⁡                                                  (                                                      α                            7                                                    )                                                                    2                                        +                                                                                            C                          13                          ′                                                ⁡                                                  (                                                      α                            7                                                    )                                                                    1                                        +                                                                                            C                          14                          ′                                                ⁡                                                  (                                                      α                            7                                                    )                                                                    0                                                                                                                                                                S                    8                    ′                                    =                                                                                                              C                          0                          ′                                                ⁡                                                  (                                                      α                            8                                                    )                                                                    14                                        +                                                                                            C                          1                          ′                                                ⁡                                                  (                                                      α                            8                                                    )                                                                    13                                        +                                                                                            C                          2                          ′                                                ⁡                                                  (                                                      α                            8                                                    )                                                                    12                                        +                    …                    +                                                                                            C                          12                          ′                                                ⁡                                                  (                                                      α                            8                                                    )                                                                    2                                        +                                                                                            C                          13                          ′                                                ⁡                                                  (                                                      α                            8                                                    )                                                                    1                                        +                                                                                            C                          14                          ′                                                ⁡                                                  (                                                      α                            8                                                    )                                                                    0                                                                                                                                                                S                    9                    ′                                    =                                                                                                              C                          0                          ′                                                ⁡                                                  (                                                      α                            9                                                    )                                                                    14                                        +                                                                                            C                          1                          ′                                                ⁡                                                  (                                                      α                            9                                                    )                                                                    13                                        +                                                                                            C                          2                          ′                                                ⁡                                                  (                                                      α                            9                                                    )                                                                    12                                        +                    …                    +                                                                                            C                          12                          ′                                                ⁡                                                  (                                                      α                            9                                                    )                                                                    2                                        +                                                                                            C                          13                          ′                                                ⁡                                                  (                                                      α                            9                                                    )                                                                    1                                        +                                                                                            C                          14                          ′                                                ⁡                                                  (                                                      α                            9                                                    )                                                                    0                                                                                                                                                                S                    10                    ′                                    =                                                                                                              C                          0                          ′                                                ⁡                                                  (                                                      α                            10                                                    )                                                                    14                                        +                                                                                            C                          1                          ′                                                ⁡                                                  (                                                      α                            10                                                    )                                                                    13                                        +                                                                                            C                          2                          ′                                                ⁡                                                  (                                                      α                            10                                                    )                                                                    12                                        +                    …                    +                                                                                            C                          12                          ′                                                ⁡                                                  (                                                      α                            10                                                    )                                                                    2                                        +                                                                                            C                          13                          ′                                                ⁡                                                  (                                                      α                            10                                                    )                                                                    1                                        +                                                                                            C                          14                          ′                                                ⁡                                                  (                                                      α                            10                                                    )                                                                    0                                                                                                                                                                S                    11                    ′                                    =                                                                                                              C                          0                          ′                                                ⁡                                                  (                                                      α                            11                                                    )                                                                    14                                        +                                                                                            C                          1                          ′                                                ⁡                                                  (                                                      α                            11                                                    )                                                                    13                                        +                                                                                            C                          2                          ′                                                ⁡                                                  (                                                      α                            11                                                    )                                                                    12                                        +                    …                    +                                                                                            C                          12                          ′                                                ⁡                                                  (                                                      α                            11                                                    )                                                                    2                                        +                                                                                            C                          13                          ′                                                ⁡                                                  (                                                      α                            11                                                    )                                                                    1                                        +                                                                                            C                          14                          ′                                                ⁡                                                  (                                                      α                            11                                                    )                                                                    0                                                                                                                                                                S                    12                    ′                                    =                                                                                                              C                          0                          ′                                                ⁡                                                  (                                                      α                            12                                                    )                                                                    14                                        +                                                                                            C                          1                          ′                                                ⁡                                                  (                                                      α                            12                                                    )                                                                    13                                        +                                                                                            C                          2                          ′                                                ⁡                                                  (                                                      α                            12                                                    )                                                                    12                                        +                    …                    +                                                                                            C                          12                          ′                                                ⁡                                                  (                                                      α                            12                                                    )                                                                    2                                        +                                                                                            C                          13                          ′                                                ⁡                                                  (                                                      α                            12                                                    )                                                                    1                                        +                                                                                            C                          14                          ′                                                ⁡                                                  (                                                      α                            12                                                    )                                                                    0                                                                                                                                                                S                    13                    ′                                    =                                                                                                              C                          0                          ′                                                ⁡                                                  (                                                      α                            13                                                    )                                                                    14                                        +                                                                                            C                          1                          ′                                                ⁡                                                  (                                                      α                            13                                                    )                                                                    13                                        +                                                                                            C                          2                          ′                                                ⁡                                                  (                                                      α                            13                                                    )                                                                    12                                        +                    …                    +                                                                                            C                          12                          ′                                                ⁡                                                  (                                                      α                            13                                                    )                                                                    2                                        +                                                                                            C                          13                          ′                                                ⁡                                                  (                                                      α                            13                                                    )                                                                    1                                        +                                                                                            C                          14                          ′                                                ⁡                                                  (                                                      α                            13                                                    )                                                                    0                                                                                                                                                                n                    0                                    =                                      S                    6                    ′                                                                                }                ⁢                                  ⁢                              n            1                    =                      S            7            ′                          ⁢                                  ⁢                              n            2                    =                      S            8            ′                          ⁢                                  ⁢                              n            3                    =                      S            9            ′                          ⁢                                  ⁢                              n            4                    =                      S            10            ′                          ⁢                                  ⁢                              n            5                    =                      S            11            ′                          ⁢                                  ⁢                              n            6                    =                      S            12            ′                          ⁢                                  ⁢                              n            7                    =                      S            13            ′                          ⁢                                  ⁢                              n            8                    =                      C            0            ′                                              (        6        )            
In an address format described above, in order to decode the address information n0 to n(j−2) from the code sequence C0 to C(i−1), the syndrome calculations having two steps, that is, first syndrome calculations S0 to S(i−j−1) for performing the error detection and correction and second syndrome calculations S(i−j) to S(i−2) for extracting the address information, are required.
As a configuration for realizing such two-step syndrome calculations, there is an approach to sequentially processing the two-step syndrome calculations step by step, as shown in Japanese Patent Laid-Open No. 2000-286718.
Assuming the code length i=15 and the information length j=9, an approach to decoding the address information n0 to n(j−2) from the code sequence C0 to C(i−1) according to the configuration shown in Patent Document 1 will be described. In FIG. 3, first, C0 to C14 are inputted and first syndromes S0 to S5 are calculated as the first step (step A0).
Next, according to error determination with S0 to S5 (step A1), if it is determined that there is no error in C0 to C14 (S0 to S5 are all zero), second syndromes S6 to S13 are calculated as the second step (step A6), and the address information n0 to n7 is outputted. Moreover, C0 is outputted as n8.
On the other hand, according to the above described error determination (step A1), if it is determined that there is an error in C0 to C14 (at least one of S0 to S5 is not zero), S0 to S5 are used to perform the error correction with respect to C0 to C14. First, an error position polynomial is derived (step A2), and subsequently, error positions αl, αm and αn and error numbers el, em and en are calculated (steps A3 and A4), and then a code sequence C′0 to C′14 in which the errors have been corrected is generated (step A5).
Next, these C′0 to C′14 are used to execute the syndrome calculations at the second step to calculate S6 to S13, and n0 to n7 are outputted as estimated values for the address information (step A6). Moreover, C′0 is outputted as n8.
FIG. 4 shows an error correction decoding apparatus applied with a processing scheme according to Patent Document 1, and is a configuration diagram in the case of assuming the code length i=15 and the information length j=9. The error correction decoding apparatus in FIG. 4 is configured with a first syndrome calculation unit 00 which inputs C0 to C14 and calculates S0 to S5, an error position estimation unit 01 which determines the error positions in C0 to C14, an error number estimation unit 02 which determines the error numbers in C0 to C14, an error correction unit 03 which performs the error correction with respect to C0 to C14, and a second syndrome calculation unit 04 which inputs C′0 to C′14 and calculates S6 to S13.
Next, an operation of the error correction decoding apparatus in FIG. 4 will be described. First, the first syndrome calculation unit 00 inputs C0 to C14 and product-sum repeat circuits 000 to 005 calculate S0 to S5.
Next, the error position estimation unit 01 derives the error position polynomial from a solution of simultaneous equations of S0 to S5, and estimates the error positions. Moreover, the error number estimation unit 02 estimates the error numbers from the solution of the simultaneous equations of S0 to S5.
Next, the error correction unit 03 performs the error correction with respect to C0 to C14 based on the above described error positions and error numbers, and generates C′0 to C′14.
Next, the second syndrome calculation unit 04 inputs C′0 to C′14, product-sum repeat circuits 040 to 047 calculate S6 to S13, and its result is outputted as the address information n0 to n7. Moreover, C′0 is outputted as n8.
[Patent Document 1] Japanese Patent Laid-Open No. 2000-286718
The above described decoding process is processed in an address decoding process within the recording and playing apparatus for the optical disk in the address format requiring two-step syndrome calculations.
When the approach shown in Patent Document 1 is applied in the above described address format, in an error correction decoding method, the first syndrome calculations S0 to S(i−j−1) for performing the error detection and correction and the second syndrome calculations S(i−j) to S(i−2) for extracting the address information are divided into two steps, and after the first syndrome calculations have been completed and the errors in the code sequence to be used in the second syndrome calculations have been corrected, the above described code sequence C′0 to C′14 after the error correction is used to perform the second syndrome calculations. Therefore, it is necessary to execute the first syndrome calculations and the second syndrome calculations in this order.
Generally, if a product-sum repeat calculation is used to perform the syndrome calculations, product-sum calculations are performed while one symbol of C0 to C(i−1) is repeatedly inputted per cycle. Therefore, a time required for the syndrome calculations per step is the number of cycles equal to the code length (i cycles).
For example, first, in order to perform the error determination, it is necessary to obtain the first syndromes S0 to S(i−j−1), and the calculation time at this first step requires i cycles. According to a result of the above described error determination, if there is no error in C0 to C(i−1), it is necessary to obtain the second syndromes S(i−j) to S(i−2) in order to decode the address information, and the calculation time at this second step requires i cycles. As a result, the entire decoding process requires a processing time of 2*i cycles.
On the other hand, according to the result of the above described error determination, if there is the error in C0 to C(i−1), the error correction is performed with respect to C0 to C(i−1). However, since a time required for the correction varies depending on the number of errors, the time is assumed as e cycles here. Next, it is necessary to use C′0 to C′(i−1) to calculate the second syndromes S(i−j) to S(i−2) in order to decode the address information, and the calculation time at this second step requires i cycles. As a result, the entire decoding process requires the processing time of 2*i+e cycles.
In this way, in the conventional approach to dividing the syndrome calculations into two steps and processing them as shown in Patent Document 1, the syndrome calculation time occupies a high percentage of the entire decoding process.